The present invention relates to a set of components for facilitating data extraction from a database.
Java Database Connectivity (JDBC) is based on the X/Open SQL (structured query language) Call Level Interface (CLI) specification that defines how client/server interactions should be implemented in the case of database systems. The JDBC standard was first presented in January, 1996 and frozen in June, 1996. Since that time, it has been adopted by all major database vendors including IBM, Informix, Oracle, Sybase, etc.
JDBC is a complete definition of how to implement database communication utilizing Java. Its definition ranges from a low-level API required for a JDBC driver which actually connects to and communicates with the database to a high-level API used to deliver data to an application or applet. The implementation of the API has been included in Java Development Kit (JDK) 1.1 in the java.sql package.
JDBC is cross platform at both the source and the binary level. Thus, switching a back-end database among competing products should not have any impact on the application code. Further, a JDBC-ODBC (Open DataBase Connect) bridge product developed jointly by Intersolv and Javasoft enables JDBC to run against any database which supports ODBC.
When implemented within an applet which runs over the Internet or intranet, it is not necessary for the client computer to have any database software installed in order to access a database through JDBC.
In order to use JDBC, the following tools are needed: JDK version 1.1.1 or higher; a relational database which supports either JDBC or ODBC, for example, Microsoft Access, IBM DB2 Universal Database, Oracle or Sybase; and a JDBC driver which supports the relational database on the client operating system or the JDBC-ODBC bridge product.
JavaSoft has defined four different types of JDBC drivers:
Type 1: This type of driver uses a bridging technique. An example of this type is the JDBC-ODBC bridge. Under this approach, an existing technology like ODBC actually performs the database access. The function of the JDBC driver is to translate the Java methods to the appropriate native calls required by the access technology. This type of driver normally requires that platform-specific code be installed on the client. Thus, it is not appropriate for applets run over the Internet, but could work over a corporate intranet.
Type 2: This type of driver generates calls to the native database API. In particular, the Java methods will invoke the C or C++ functions provided by the database vendor. Like Type 1 drivers, this approach requires platform-specific software to be installed on the client. DB2 utilizes this type of driver when run as an application from a DB2 client. Intersolv and WebLogic also provide this type of driver for Oracle and Sybase.
Type 3: This type of driver communicates from a client to a server using generic networking APIs through TCP/IP sockets. At the server-side, a middleware application translates the generic APIs to the database-specific calls required. This type of driver does not require that any special code be installed on the client. Also, the same middleware application may be used to access different types of databases. DB2 utilizes this type of driver to support applets over the Internet; this type of driver is also available for the other major databases through a variety of vendors.
Type 4: This is a 100% pure Java solution. The driver uses TCP/IP sockets to talk directly to the database engine. This type of driver must generally be provided by the database vendor. There are currently type 4 drivers for mSQL, Oracle, Sybase, Microsoft SQL Server, Interbase and SAS.
In any case, a JDBC Driver Manager forms a link between a JDBC Driver for a database management system (DBMS) and application code. The JDBC driver must register with the Driver Manager. When an application attempts to connect to a particular database, the Driver Manager selects from its list of available drivers to form the connection.
Java Beans are Java components that may be visually connected to each other in a visual builder, such as Lotus BeanMachine, in order to construct solutions. However, making the connection between data held in a relational database, and the ever expanding range of visual Java Beans on the market, is not always as simple as it should be. Java Beans are typically designed to accept data in a specific form, which may not match the form in which the data is held in a database.
The present invention provides a set of components as claimed in claim 1.
In a further aspect the invention provides a visual builder including the set of components according to the invention.
It will be seen that, while the present embodiment provides a collection of Java Beans that facilitate visual connection between JDBC enabled databases, and almost any Java Bean, the invention is applicable to components written in other languages and for connection to any type of database. For example, the components could also be written as a set of ActiveX Controls for use by a visual builder such as Microsoft Visual Studio ""97. Such controls can be used to build an application in a similar manner to that for Java Beans, with the exception that the Driver Manager would not be able to rely on the JDBC connectivity supplied by the JDK.